using System;
using System.Collections.Generic;

using ManageMoney.DataType;
using ManageMoney.DataAccess;

namespace ManageMoney.BussinessLogic
{
    public class TablaLogic
    {
        #region Variables

        private TablaData _tablaData;

        #endregion

        #region Constructores

        public TablaLogic()
        {
            _tablaData = new TablaData();
        }

        #endregion

        #region Metodos

        public TablaType CargarPorId(string id)
        {
            _tablaData.FiltrarPorId(id);

            return _tablaData.Cargar();
        }

        public void Grabar(TablaType tabla)
        {
            _tablaData.Grabar(tabla);
        }

        public void Eliminar(string id)
        {
            _tablaData.Eliminar(id);
        }

        public List<TablaType> CargarExplorador(string nombre,string descripcion)
        {
            if(nombre != "") _tablaData.FiltrarPorNombre(nombre);
            if(descripcion != "") _tablaData.FiltrarPorDescripcion(descripcion);

            return _tablaData.CargarListaVista();
        }

        public List<TablaType> CargarExploradorPaginado(TablaType registroBusqueda, int paginaActual, int cantidadMostrar, string orderBy)
        {
            if (registroBusqueda.Nombre != "") _tablaData.FiltrarPorNombre(registroBusqueda.Nombre);
            if (registroBusqueda.Descripcion != "") _tablaData.FiltrarPorDescripcion(registroBusqueda.Descripcion);

            return _tablaData.CargarListaVista(paginaActual, cantidadMostrar, orderBy);
        }

        #endregion
    }
}
